数组 array
-定义数组的格式 var <varName> [n]<type>
, n 必须 >=0
-数组长度也是类型的一部分,因此具有不同长度的数组的不同类型
-注意区分指向数组的指针和指针数组
-数组在 Go 中为值类型
-数组直接可以使用 ==
或 !=
进行比较,但不可以使用 <
或 >
-可以使用 new
来自创建数组,此方法返回一个指向数组的指针
-Go 支持多维数组
// [1, 2, 3]
a := [3]int{1, 2, 3}
// 确定长度时可以使用 ... 放在 [] 里
a := [...]int{1, 2, 3}
// 索引值指定 [0 0 0 0 2]
a := [...]int{4: 2}
//指向数组的指针
a := [...]int{4: 2}
var p *[5]int = &a
//指针数组
x, y := 1, 2
a := [...]*int{&x, &y}
//结果为 [0xf840036028 0xf840168928] 这样的指针数组
fmt.Println(a)
//使用 new 创建数组
p := new ([10]int)
//得到一个指向数组的指针
fmt.Println(p)
//可以使用此指针操作数组
p[2] = 6
//多维数组
a := [2][3]int{
{1:1},
{2, 2, 2}}
//冒泡排序
a := [...]int{5, 9, 6, 8, 12, 42}
fmt.Println(a)
num := len(a)
for i := 0; i < num; i++ {
for j := i + 1; j < num; j++ {
if a[i] < a[j] {
temp := a[i]
a[i] = a[j]
a[j] = temp
}
}
}
fmt.Println(a)
当前内容版权归 Programming-With-Love 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Programming-With-Love .